#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ioctl.h>
#include <string.h>

#define CMD_TEST0 _IOW('L', 0, int)

struct args // 定义要传递的结构体
{
	int a;
	int b;
	int c;
};

int main(int argc, char *argv[])
{

	int fd; // 定义int类型的文件描述符fd
	struct args test;

	test.a = 100;
	test.b = 200;
	test.c = 300;

	fd = open("/dev/test", O_RDWR, 0777); // 打开test设备节点

	if (fd < 0)
	{
		printf("file open fail\n");
	}
	ioctl(fd, CMD_TEST0, &test); // 使用ioctl 函数传递结构体变量test地址
	close(fd);
}
